The subject matter disclosed herein relates to a method and apparatus for scrambling a high speed data transmission between modules in an industrial controller, and more specifically, a method for distributing data within the data transmission to reduce emissions radiated from electrical conductors carrying the data.
Industrial controllers are specialized computer systems used for the control of industrial processes or machinery, for example, in a factory environment. Industrial controllers differ from conventional computers in a number of ways. Physically, they are constructed to be substantially more robust against EMI, shock, and damage and to better resist extreme environmental conditions than conventional computers. The processors and operating systems are optimized for real-time control and are programmed with languages designed to permit rapid development of control programs tailored to a constantly varying set of machine control or process control applications.
Generally, an industrial controller executes a stored control program that reads inputs from a variety of sensors associated with the controlled process or machine. Sensing the conditions of the process or machine and based on those inputs and the stored control program, the industrial controller determines a set of outputs used to control actuators for the process or machine. Several communication steps typically occur during the process of sensing the conditions and setting the outputs. Input modules receive signals from sensors and other devices distributed about the controlled process or machine. The input modules communicate the received signals to a processor module. The processor module executes the control program to generate output signals based on the program and received inputs. The processor module communicates the output signals to output modules. The output modules convert the output signals to analog and/or digital signals to be transmitted to an actuator or other such device distributed about the controlled process or machine.
Over time, the complexity and/or size of the machine or process controlled by the industrial controller has increased. For example, a process line may span the entire length of a bay in an industrial complex or an automated storage system may be distributed over an entire warehouse. As a result, the number of Input and Output (I/O) modules required to control the process or machine has increased. Each of the I/O modules communicates with the processor module and, potentially, with other modules in the industrial controller. Thus, an increased volume of communications within the industrial controller is required. Further, as processor speeds increase, the processors are able to transmit the increasing volume of data at higher transmission rates.
As is known to those skilled in the art, differential receivers have allow the rate of data transmission and the distance between devices communicating with each other to increase. However, the increased rate of transmission is not without drawbacks. High speed transmission protocols require continuous transmission of data patterns to keep clocks on the transmitting and receiving devices synchronized. In addition, the data must remain DC neutral, meaning that the number of zeros and ones remain substantially the same during transmission. However, neither of these constraints is consistent with real data that is typically transmitted. As a result, encoding schemes have been developed to convert intermittent data transmission to continuous data transmission. One such encoding scheme is 8B10B encoding. The 8B10B encoding scheme ensures that there are no extended sequences of data bits without a transition between a zero and a one and also ensures that the number of zeros and ones being transmitted remains DC neutral.
However, these encoding schemes are not without certain, drawbacks. In order to ensure that the clocks remain synchronized and that data transitions continually occur, additional data (for 8B10B encoding the additional data is commonly referred to as idle pairs) is inserted between data packet transmissions. Each idle pair includes a pair of control characters such that a receiver may identify the idle pair as such rather than as transmitted data. If an extended period of time exists between data frames to be transmitted, the idle pair is repeated continually during this period of time. As a result of the concentration of idle pairs, identical data is being continuously transmitted, resulting in a concentration of energy at specific frequencies. This concentration of energy tends to cause excessive emissions at these frequencies.
Thus, it would be desirable to provide a method of transmitting high speed serial data with reduced levels of radiated emissions.